package educar.models;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import educar.models.datoNotFound;

import educar.db.JPA;

public class Actividad {
	
	private static JPA jpa = new JPA();
	private String nombre;
	private Integer codigoMateria;
	
	public Actividad( String nombre, Integer codigoMateria){
		this.setNombre(nombre);
		this.setCodigoMateria(codigoMateria);
	}
	
	public boolean save() {
		try {
			Actividad.getActividadByActividad(nombre);
			return false;
		} catch (datoNotFound e1) {
			String[] columns = {"nombre","codigo"};

			PreparedStatement stm = jpa.newRecord("educar_dev.actividad", columns);

			try {
				stm.setString(1, nombre);
				stm.setString(2, Integer.toString(codigoMateria));
			} catch (SQLException e) {
				e.printStackTrace();
				return false;
			}

			jpa.create(stm);
			return true;
		}
	}
	
	public static Actividad getActividadByActividad(String nombre) throws datoNotFound {
		ResultSet rs = null;
		Actividad p = null;

		rs = jpa.getByField("actividad", "nombre", nombre);

		try {
			if (rs.next()) {
				p = new Actividad(rs.getString(2),Integer.parseInt(rs.getString(3)));
			} else {
				throw new datoNotFound();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}

		return p;
	}

	public void destroy() {
		jpa.destroy("actividad", "nombre",nombre);
	}
	
	public void setNombre(String nombre){
		this.nombre=nombre;
	}
	
	public String getNombre(){
		return this.nombre;
	}
	
	
	public void setCodigoMateria(Integer codigoMateria){
		this.codigoMateria=codigoMateria;
	}
	
	public Integer getCodigoMateria(){
		return this.codigoMateria;
	}

}
